﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            //            在游戏中会出现很多种不同用途的 NPC，这些 NPC 有各自的存在的价值和作用，同时又具备一些共性的东西。
            //在开发 NPC 系统的时候，往往是需要提取共性，独立出一个父类，然后子类继承实现不同作用的 NPC。
            //分析：任务 NPC，商贩 NPC，铁匠 NPC，三种 NPC 的种类。
            //共有属性：npc 的名字，npc 的类型；
            //共有方法：都能和玩家交互(交谈)；
            Console.WriteLine("请输入:1.任务NPC,2.商贩NPC,3.铁匠NPC 中的其中一个数字");
            int b = int.Parse( Console.ReadLine());
            Tect(b);
        }
        static void Tect(int b)
        { 
          switch (b)
	        {
                case 1:
                    Npc t1 = new TaskNPC("小曹村长",Npctype.Task,"你可以帮我送趟货吗？");
                                 t1.Speak();

                    break;
                case 2:
                    Npc t2 = new ShopNPC("红太狼", Npctype.Shop, "你想要什么东西吗？");
                                t2.Speak();
                    break;
                case 3:
                    Npc t3 = new IronNPC("小曹", Npctype.Iron, "需要帮你打造武器吗？");
                                t3.Speak();
                    break;
                default:
                break;
	        }
        }
    

}
        
    }

